The present, claimed invention relates to the field of SCSI and netSCSI devices and networks. Specifically, the present claimed invention relates to an apparatus and a method for dynamically attaching, managing, and accessing a LAN-attached SCSI and netSCSI devices.
The Small Computer System Interface (SCSI) is a parallel interface standard between computers and peripheral components. The SCSI standard was originally designed to support peripherals such as hard drives, CD-ROM drives, scanners, etc. on a stand alone computer. While the SCSI standard provides a generic interface that is very useful, the SCSI standard also has serious limitations. Specifically, the SCSI standard only allows a limited number of SCSI devices, usually eight to sixteen, on the parallel SCSI bus. Furthermore, the transmission distance, per hub and for the total length, of a SCSI bus is extremely limited. However, the SCSI standard is still important because SCSI devices are ubiquitous. In view of these circumstances, a need arises for a method and apparatus for accommodating more SCSI devices on a bus and for placing them at greater distances on the bus.
One method of overcoming the limitations of a SCSI bus is to simply use a network other than a SCSI bus. For example Server area networks (SAN) currently use a Fiber Channel (FC) medium to communicate with SCSI devices. Another type of network that could be used is a Local Area Network (LAN) or an Internet Protocol (IP) Network.
Additionally, there is a trend in the industry to remove, or unbundle, peripherals from a computer, usually a server, and place them independently on the network. The goal is to have peripherals on a network such that one or more servers can access the same device. Consequently, each server could own a part of the peripheral, e.g. a drive, and perceive the drive as its own local drive. NetSCSI device were developed for this purpose. A netSCSI device is a SCSI device having the appropriate hardware and software to make it compatible with a communication network link and communication network protocol. However, a specific method and apparatus does not exist for managing SCSI devices without a netSCSI configuration on a network. Hence, a need arises for a method and apparatus for attaching and managing SCSI devices on a network.
Conventionally, a netSCSI device has to be programmed with the appropriate network address of an owner prior to being placed on the network. Usually this is performed by a dedicated administrative computer that maps the grouping and ownership of SCSI devices to host computers. However, this creates a bottleneck to placing new netSCSI devices on the network. Hence, a need arises for a network system and method to automatically and dynamically attach, manage, and configure a netSCSI device on the network itself.
A conventional SCSI system 100 is presented in Prior Art FIG. 1. SCSI system 100 has a plurality of SCSI devices 102, 104, and 106 attached thereto. A bus 114 couples SCSI devices 102, 104, and 106 to a computer 120. However, several limitations exist as,to how SCSI devices are identified on a FC network and how to send information to the SCSI devices. First, traditional SCSI devices require the user to select the address, dial it up on the device, and hope that it does not conflict with an address chosen for an existing SCSI device on the network. As an example, SCSI-3 devices 102, 104, and 106 could have a respective SCSI address switch 108, 110, and 112 on the actual device that a user manually dials to a desired unique code. Note that the parallel SCSI address is commonly limited to 5 bits, e.g. having a decimal equivalent address of 0-31. In this example, address of 5, 7, and 30 were chosen for the SCSI address of the devices in FIG. 1. However, if SCSI address switch 108, 110, and 112 chosen by the user happened to conflict with another device already in use, the system will not respond properly. For example, if a user dials in an address of 17 instead of 5 for address switch 108 for SCSI-3102, it would conflict with the address 17 for address switch 110 for SCSI-3104.
Second, SCSI devices may not continue to function correctly when the bus is xe2x80x98brokenxe2x80x99, e.g. when a user intermittently connects or disconnect a SCSI device from the network without following the correct protocol. Unless the SCSI bus and device are in a high-end RAID enclosure that supports hot-plug, e.g. connecting or disconnecting while unit is operating and without following the correct protocol, the SCSI bus cannot recover gracefully once the bus is xe2x80x98broken.xe2x80x99 Hence, a need exists for a method and apparatus for dynamically addressing SCSI devices that would automatically avoid address conflicts when installing new devices and when the bus is broken.
Bus 114 of FIG. 1 could be a non-SCSI network, such as the FC link. An FC network has features that allow new devices to be recognized and mapped to SCSI operations automatically. However, this address mapping method is only a rudimentary mapping of the SCSI ID to the FC address. Additionally, special configuration SCSI devices, specifically SCSI-3 devices, would be required for automatic addition and removal capability on network 100. Thus, SCSI devices 102, 104, and 106 would be SCSI-3 configuration. Furthermore, the FC network mapping is not applicable to a LAN or IP network. Hence, a need arises for a method and apparatus to allow SCSI devices to be attached to the LAN, be recognized by the hosts/clients and other SCSI devices on the same LAN or IP network automatically, and for the LAN/IP address of the netSCSI device to be bound to a logical SCSI ID. An additional need exists to allow the use of standard SCSI devices on a network such that backwards compatibility is maintained. If such a network for SCSI devices existed, a further need would exist for a protocol in which to encapsulate data and SCSI commands)into a coherent network-compatible packet.
In summary, a need exists for a method and apparatus for accommodating more SCSI devices on a bus and for placing them at greater distances on the bus than would be feasible with a conventional SCSI bus. Hence, a need arises for a method and apparatus for attaching and managing SCSI devices on a network. Hence, a need arises for a network system and method to automatically and dynamically attach, manage, and configure a netSCSI device on the network itself. Also, a need exists for a method and apparatus for dynamically addressing SCSI devices that would automatically avoid address conflicts when installing new devices and when the bus is broken. Furthermore, a need arises for a method and apparatus to allow SCSI devices to be attached to the LAN, be recognized by the hosts/clients and other SCSI devices on the same LAN or IP network automatically, and for the LAN/IP address of the netSCSI device to be bound to a logical SCSI ID. An additional need exists to allow the use of standard SCSI devices on a network such that backwards compatibility is maintained. Finally, a need exists for a protocol in which to encapsulate data and SCSI commands into a coherent network-compatible packet. The present invention provides a unique and novel solution that meets all the above needs.
The present invention provides a method and apparatus for dynamically attaching, managing, and accessing a LAN-attached netSCSI device.
In one embodiment, the present invention recites a method for dynamically attaching, managing, and accessing a netSCSI device coupled to a network. More specifically, the present embodiment performs this method using broadcast messaging and local addressing. In one step, a broadcast message of announcement from the netSCSI device, providing a network address of the netSCSI device, is received at a computer coupled to the network. In another step, the network address of the netSCSI device is mapped to a logical SCSI ID in the computer. Then, the computer may claim ownership of the netSCSI device by sending it a response message claiming ownership and providing its network unicast address for two-way communication. The netSCSI device records the owner""s network unicast address for sending reply messages to the owner. Finally, the host computer owner may communicate with the netSCSI device by accessing the address map and formatting and encapsulating a SCSI packet in a network packet format using the netSCSI""s network address retrieved from the address map. This embodiment uses local address mapping where each computer on the network performs the address mapping function independently of each other. After a computer claims ownership of the netSCSI device, the computer and netSCSI device communicate using unicast messaging.
As a result, the present invention provides a convenient and useful method of attaching, managing, and accessing netSCSI devices on a network. This is accomplished by replacing the SCSI bus limitations with the more generous network limitations. With a network, more netSCSI devices can be used, and the distance from the netSCSI device to a computer is greater. For example, the quantity of netSCSI devices allowed 6n a network is limited to the quantity of unique possibilities with a 32 or 48 bit network address. Also, the distance of a SCSI device on a network is limited by the specific type of network and protocol. In any case, the network provides orders of magnitude in improvement over the SCSI distance limitation.
In a second embodiment, the present invention recites another method for dynamically attaching, managing, and accessing a netSCSI device coupled to a network. The second embodiment, however, performs this method using multicast messaging and centralized addressing. In this method, a directory server computer is given a well-known network address. The new netSCSI device transmits its unicast network address to the well-known multicast address automatically to initiate the dynamic attachment steps. Upon receiving the initial announcement, the directory server assigns a logical SCSI ID and a network multicast address for the netSCSI device that is unique within the network. The directory server then transmits the assignment information to the netSCSI device or to computers having the network multicast address. The netSCSI device transmits the message of assignment to devices having the assigned network multicast address. The message provides the netSCSI device""s unicast network address and the logical SCSI ID assigned to it by the directory server, the logical SCSI bus and network multicast address of the logical SCSI bus. This multicast message essentially allows the netSCSI device to advertise to other devices on the logical SCSI bus that it is available to be owned. Any computer within the assigned network multicast address that wishes to own the netSCSI device can record the netSCSI unicast network address, logical SCSI ID, logical bus and network multicast address, and then send a response message to the netSCSI device claiming the ownership and providing its own unicast network address so the hnetSCSI device can communicate with it.